计算今天是星期几
这个问题可以使用泽勒一致性计算,公式如下:

h=[q+26(m+1)10+k+k4+5j+j4]%7h = [q + \dfrac{26(m + 1)}{10} + k + \dfrac{k}{4} + 5j + \dfrac{j}{4}] \% 7h = [q + \dfrac{26(m + 1)}{10} + k + \dfrac{k}{4} + 5j + \dfrac{j}{4}] \% 7
首先需要明确的是,上述公式的除法并非传统意义上的除法,而是整除,也就是将得到的结果的小数部分舍弃;上述公式中的% 意为取余运算。关于其中的参数解释如下:h:计算得到的 h 值可以取 0~6,分别对应着周六、周日、周一、周二、…… 、周五;q:q 就是日期,例如 2021/1/9 对应着 q = 9;m:m 参数需要特别关注,当月份为 3~12 月时,m 的值就是 3~12,但当月份为 1 月和 2 月时,m 的值分别记为 13 和 14,同时年数往前推一年,例如 2021/1/9 应该写作 2020/13/9,m 的值为 13,而后续的年份变为 2020 而非 2021,这一变化影响后续的两个参数的计算。j:j 就是年份对 100 的整除,例如 1985 年时 j 值为 19(这里的 1985 年是上一个参数推导时得到的年份,并非是真实的 1985 年,也有可能是 1986 年);k:k 是年份对 100 的取余,同样的 1985 年时 k 值为 85;